(1). Field of the Invention
The present invention relates to the field of information communication. More specifically, the present invention relates to reducing error in data transmissions over a Small Computer System Interface (SCSI) bus.
(2). Prior Art
The SCSI interface is a popular communications interface for coupling computer systems and computer system peripherals together. Large networked computer systems using a complex set of peripherals, such as disk drives, printers, tape drives, etc., can be implemented using the SCSI bus as their communication platform. Often, it is required to modify the component makeup of such a computer system (e.g., for the addition or exchange of a disk drive, etc.) while the computer system is operating. These types of exchanges are referred to as "hot" modifications to the computer system because the computer system is operating during the modification. A "hot" modification can refer to the hot insertion, exchange or removal of a particular device from the computer system while operating.
During a "hot" modification of the devices coupled to a given SCSI interface bus, the possibility of data corruption exists. Single-ended SCSI interfaces have weak noise margins electrically and hot modifications reduce this noise margin even further since some slight glitching of signal and power busses can occur during the modification. Glitching is characterized in part as electrical interference or transient signals caused by the addition of variable inductance and capacitance levels when the SCSI signal pins contact during a hot modification. Glitching can readily cause errors in the transmission of data bytes over the SCSI interface. Importantly, these errors may not be detected by the SCSI parity mechanisms among other reasons because two bits may be in error and the corruption of each bit is not an independent event. Therefore, the probability of an undetectable double bit error is not negligible as a result of a hot insertion. An undetected error as a result of a hot insertion could also be from an glitch in a control signal causing clock errors that are not detected by parity checks. What is needed is a mechanism for allowing hot modifications of devices of a SCSI interface without causing transmission data errors between devices. The present invention offers such advantageous capability.
Two approaches are currently used to reduce the probability of data errors resulting from hot modifications of a computer system's devices in order to maintain data integrity. The first is the use of a differential SCSI interface which is a much more robust electrical design that is not susceptible to bit errors as described above. However, the use of differential SCSI interface electrical design significantly adds to the cost of a typical computer system and in many environments the use of a differential SCSI communication interface is not economically practical or viable. The use of differential SCSI interface electrical design also adds to the cost of the required SCSI controller hardware. This added cost is also unacceptable in high volume markets. What is needed is a mechanism for reducing or eliminating the errors associated with hot modifications without requiring or using such a costly alternative. The present invention offers such advantageous functionality.
A second approach is to reset the SCSI bus immediately after detection of a hot modification, so as to force the retransmission of any data transfer in progress during the hot modification. Although this approach does not add to the cost of the overall system, it requires third party controllers to be able to correctly react to a reset which they did not initiate. Those devices that are not programmed to respond to the reset will not perform the required retransmission and are therefore susceptible to data loss. Further, special firmware creates added product complexity and special devices are required, so products "off-the-shelf" are no longer compatible with the general computer system. Further, this approach causes an unwanted several-second delay in communication while the reset signal is interrogated, processed and the retransmissions are performed. What is needed is a mechanism for maintaining SCSI data integrity that does not require custom programming for the devices or retransmission of data in response to a reset. The present invention provides for such alternatives.
Accordingly, it is an object of the present invention to provide data integrity over a single ended SCSI bus interface in response to hot modifications. It is an object of the present invention to provide the above using a mechanism and method that is cost effective and avoids the requirement of using a differential SCSI. It is yet another object of the present invention to provide a mechanism and method that does not require custom firmware or programming for each device to respond to a reset signal and thereafter require the retransmission of suspected lost data. It is another object of the present invention to provide a solution to the hot modification problem that does not cause unreasonable delay within the SCSI interface in response to the hot modification. These and other objects of the present invention not specifically recited above will become clear within discussions of the present invention herein.